package com.briup.product_source.service.impl;

import com.briup.product_source.bean.BaseAccount;
import com.briup.product_source.dao.BaseAccountMapper;
import com.briup.product_source.service.AccountService;
import com.briup.product_source.util.JWTUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.Map;

/**
 * @Author lining
 */
@Service
public class AccountServiceImpl implements AccountService {
    @Autowired
    private BaseAccountMapper mapper;


    @Override
    public String login(String username, String password) {

        //1.判断用户名是否存在，如果不存在，提示用户 用户名不存在

        //2.判断用户的密码错误，如果密码错误，提示用户 密码错误

        //3.判断用户的状态 是否正常 如果锁定 提示用户 账号状态异常

        //表示用户登录成功，将用户信息保存在jwt字符串给web层
        Map<String, Object> userInfo = new HashMap<>();
        userInfo.put("realName","张三");
        userInfo.put("role","管理员");
        String token = JWTUtil.sign("admin", userInfo);
        return token;
    }

    @Override
    public BaseAccount findLoginUser(String token) {
        //1.解析web层传递的参数
        String accountId = JWTUtil.getUserId(token);
        //2.到数据库查询对应的用户信息
        return mapper.selectByPrimaryKey(accountId);
    }
}
